Add DASD to HTTP API#3128
Conversation
7d33f94 to
393854f
Compare
393854f to
4882756
Compare
| /// s390 configuration. | ||
| pub struct Config { | ||
| /// Configuration of the DASD devices. | ||
| pub dasd: Option<RawConfig>, |
There was a problem hiding this comment.
Well, I have to say I really dislike this. Config struct is important part of API and here is basically nothing, depending on what dbus service provides. Basically throwing away all rust guarantees and also making it quite hard create such config e.g. even for testing purpose and you always have to use json.
There was a problem hiding this comment.
This was a decision already taken to directly pass the json from the dbus API. It is done so for storage, iscsi, dasd, etc.
There was a problem hiding this comment.
The validation is done with the schema. Anyway, I think dasd, zfcp and iscsi could be totally moved to rust in the future. Storage would be more complex.
There was a problem hiding this comment.
sadly validation is still runtime done by checking schema against config, but not against code during compilation, which is what rust doing. So if someone breaks backward compatibility, the config will pass validation and then ruby code will fail.
There was a problem hiding this comment.
Yes, we are aware of that. Although the ruby code will fail too if the schema changes.
| #[derive(Clone, Debug, Serialize, utoipa::ToSchema)] | ||
| #[serde(rename_all = "camelCase")] | ||
| pub struct SystemInfo { | ||
| pub dasd: Option<Value>, |
There was a problem hiding this comment.
and similar here. Basically no info how it looks like or how to construct it. Again even in test it forces to use json text as it is not possible to use API without json.
There was a problem hiding this comment.
Yes, same reason than above. For now we provide schema definitions for that data and we don't want to generate the very same json twice, at dbus level and at http level.
891298a to
d201352
Compare
cd43bf6 to
a635bf5
Compare
a635bf5 to
db7b363
Compare
| let progress_data = serde_json::from_str::<ProgressData>(args.progress)?; | ||
| self.progress | ||
| .cast(progress::message::SetProgress::new(progress_data.into()))?; | ||
| .call(progress::message::SetProgress::new(progress_data.into())) |
There was a problem hiding this comment.
why it needs to be changed? I do not see reason in commit message. Basically original idea is that for progress report, you do not need to wait to be send and just send it and continue to delay if not needed.
There was a problem hiding this comment.
I did it to guarantee that the signals arrive in order. Otherwise, ProgressFinished could come before than the last ProgressChanged.
… 37 via SR 1334918 https://build.opensuse.org/request/show/1334918 by user IGonzalezSosa + anag_factory - Add support for updateNvram bootloader key (jsc#PED-14224) - Add support for AutoYaST key bootloader->update_nvram conversion - Avoid automatic deactivation of unlisted DASD devices (gh#agama-project/agama#3181). - Calculate bootloader after calling to probe or activate storage (related to bsc#1258134). - Fix clearing bootloader cache to ensure that proper storage configuration is used (bsc#1258134) - Fix reading the startup mode in iSCSI (gh#agama-project/agama#3161). - Split storage writting config and final unmount action (bsc#1257791) - Fix JSON of DASD format summary (gh#agama-project/agama#3128).
Prepare to release version 19. * #1829 * #2508 * #2772 * #2818 * #2826 * #2848 * #2860 * #2863 * #2864 * #2866 * #2867 * #2869 * #2870 * #2871 * #2872 * #2873 * #2874 * #2875 * #2876 * #2877 * #2880 * #2881 * #2882 * #2884 * #2885 * #2886 * #2891 * #2892 * #2893 * #2894 * #2895 * #2896 * #2897 * #2898 * #2899 * #2900 * #2901 * #2902 * #2903 * #2904 * #2908 * #2909 * #2910 * #2912 * #2913 * #2914 * #2915 * #2916 * #2917 * #2918 * #2920 * #2921 * #2923 * #2924 * #2926 * #2928 * #2929 * #2930 * #2933 * #2934 * #2935 * #2936 * #2937 * #2938 * #2939 * #2942 * #2943 * #2944 * #2945 * #2946 * #2947 * #2948 * #2949 * #2950 * #2951 * #2952 * #2954 * #2955 * #2956 * #2957 * #2958 * #2959 * #2960 * #2961 * #2963 * #2964 * #2965 * #2967 * #2968 * #2969 * #2970 * #2971 * #2972 * #2974 * #2975 * #2977 * #2978 * #2980 * #2981 * #2982 * #2983 * #2984 * #2988 * #2989 * #2990 * #2991 * #2992 * #2993 * #2994 * #2995 * #2996 * #2997 * #2998 * #2999 * #3000 * #3001 * #3002 * #3004 * #3005 * #3006 * #3007 * #3008 * #3009 * #3011 * #3012 * #3013 * #3014 * #3015 * #3016 * #3018 * #3019 * #3020 * #3021 * #3022 * #3023 * #3024 * #3025 * #3026 * #3027 * #3028 * #3029 * #3030 * #3031 * #3033 * #3034 * #3035 * #3036 * #3037 * #3039 * #3040 * #3041 * #3042 * #3043 * #3044 * #3045 * #3046 * #3047 * #3048 * #3049 * #3050 * #3051 * #3052 * #3053 * #3054 * #3055 * #3056 * #3057 * #3058 * #3060 * #3061 * #3062 * #3063 * #3064 * #3065 * #3066 * #3067 * #3068 * #3069 * #3070 * #3071 * #3072 * #3073 * #3074 * #3075 * #3076 * #3077 * #3078 * #3079 * #3086 * #3087 * #3088 * #3089 * #3090 * #3091 * #3092 * #3093 * #3094 * #3095 * #3096 * #3097 * #3098 * #3099 * #3100 * #3101 * #3102 * #3103 * #3104 * #3105 * #3106 * #3107 * #3108 * #3109 * #3110 * #3112 * #3113 * #3114 * #3115 * #3116 * #3117 * #3118 * #3119 * #3120 * #3122 * #3123 * #3124 * #3127 * #3128 * #3129 * #3130 * #3131 * #3133 * #3134 * #3135 * #3136 * #3137 * #3138 * #3139 * #3140 * #3141 * #3142 * #3143 * #3144 * #3145 * #3146 * #3147 * #3148 * #3149 * #3150 * #3151 * #3152 * #3153 * #3154 * #3155 * #3157 * #3158 * #3159 * #3160 * #3161 * #3162 * #3163 * #3164 * #3165 * #3166 * #3167 * #3168 * #3169 * #3170 * #3174 * #3175 * #3176 * #3177 * #3178 * #3179 * #3181 * #3182 * #3184 * #3185 * #3186 * #3188 * #3189 * #3190 * #3191 * #3192 * #3194 * #3195 * #3196 * #3197 * #3198 * #3199 * #3200 * #3201 * #3202 * #3203 * #3205 * #3206 * #3208 * #3209 * #3210 * #3213 * #3214 * #3215 * #3216 * #3217 * #3218 * #3219 * #3220 * #3222 * #3223 * #3224 * #3225 * #3226 * #3227 * #3228 * #3229 * #3230 * #3231 * #3232 * #3233 * #3234 * #3235 * #3236 * #3237 * #3238 * #3239 * #3240 * #3241 * #3242 * #3243 * #3244 * #3246 * #3247 * #3248 * #3250 * #3251 * #3252 * #3253 * #3254 * #3255 * #3256 * #3257 * #3258 * #3259 * #3260 * #3261 * #3262 * #3263 * #3265 * #3266 * #3267 * #3268 * #3269 * #3270 * #3271 * #3272 * #3273 * #3274 * #3275 * #3276 * #3277 * #3278 * #3279 * #3280 * #3281 * #3282 * #3283 * #3284 * #3285 * #3286 * #3287 * #3288 * #3289 * #3290 * #3291
Integrate DASD management in the new HTTP API.